//全局过滤器
Vue.filter("money",function (value,type) {
    return "￥"+value.toFixed(2)+type;
})
new Vue({
    //挂载点
    el:"#app",
    //数据
    data:{
        productList:[],
        totalMoney:0,
        totalPrice:0,
        checkAllFlag:false,
        delFlag:false,
        curProduct:''
    },
    //过滤器
    filters:{
        //局部过滤器
        formatMoney:function (value) {
            return "￥"+value.toFixed(2);
        }
    },
    //生命周期函数(入口默认初始化的作用)
    mounted:function () {
        this.$nextTick(function () {
            //整个视图都渲染完毕，该钩子在服务器端渲染期间不被调用。
            this.init();
        })
    },
    //事件方法
    methods:{
        //查询商品列表的信息
        init:function () {
            var _this=this;
            this.$http.get("data/cartData.json").then(function (res) {
                console.log(res.data.result.list);
               _this.productList=res.data.result.list;
               _this.totalMoney=res.data.result.totalMoney;
            })
        },
    //    数量减
        changeMoney:function (product,way) {
            if(way>0){//加
                product.productQuantity++;
            }else{//减
                product.productQuantity--;
                if(product.productQuantity<1){
                    product.productQuantity=1
                }
            }
            //重新计算
            this.calcTotalPrice();
        },
        //选中当前列表
        selected:function (item) {
            var _this=this;
            if(typeof item.checked == "undefined"){
                //全局注册新字段
               // Vue.set(item,"checked",true);
               // 局部注册新字段(由于是循环渲染出来的是没办法直接定义数据的)
                this.$set(item,"checked",true);
            }else{
                item.checked= !item.checked;
                this.checkAllFlag=false;
            }
            //重新计算
            this.calcTotalPrice();
        },
    //    全选
        checkAll:function (flag) {
            var _this=this;
            _this.checkAllFlag=flag;
            this.productList.forEach(function (item,index) {
                if(typeof item.checked == "undefined"){
                    _this.$set(item,"checked",_this.checkAllFlag);
                }else{
                    item.checked=_this.checkAllFlag;
                }
            })
            //重新计算
            this.calcTotalPrice();
        },
    //    计算总金额
        calcTotalPrice:function () {
            var _this=this;
            _this.totalPrice=0;
            this.productList.forEach(function (item,index) {
               if(item.checked){
                   _this.totalPrice+=item.productQuantity* item.productPrice;
               }
            })
        },
    //   删除图标，显示和隐藏弹窗
        delConfirm:function (item) {
            this.delFlag=true;
            this.curProduct=item;
        },
        //YES  删除列表
        delProduct:function () {
            var index=this.productList.indexOf(this.curProduct);
            this.productList.splice(index,1);
            this.delFlag=false;
            //重新计算
            this.calcTotalPrice();
        },
        //结账跳转
        goUrl:function () {
            if(this.totalPrice){
                window.location.href ="address.html";
            }
        }
    }
})
